Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Grodzisk Mazowiecki Challenger France F3 Nigeria F2 Algeria F1 Algeria F2 Saudi Arabia F1 Saudi Arabia F2 Tunisia F1 Tunisia F2 M15 Sharm ElSheikh Morocco F3 Iran F1 Iran F2 Italy F22 France F19 France F20 Tunisia F6 UAE F1 Qatar F1 Portugal F3 France F5 Morocco F1 Morocco F2 Tunisia F2 Tunisia F3 France F9 France F17 Tunisia F4 Egypt F2 Egypt F3 Spain F19 France F19 Tunisia F4 Tunisia F6 Tunisia F7 France F1 France F3 Egypt F1 Egypt F2 Egypt F3 Tunisia F2 Turkey F2 Kuwait F2 Tunisia F1 Austria F4 Austria F5 Austria F6 Romania F15 France F17 France F18 United Arab Emirates F1 Morocco F1 Morocco F2 Spain F11 Spain F15 Spain F16 Kuwait F1 Kuwait F2 Tunisia F1 Tunisia F2 Tunisia F3 Georgia F1 Tunisia F1 Georgia F2 France F19 Morocco F1 Morocco F2 Spain F7 Italy F2 Italy F3 France F6 Italy F8 Tunisia F1 Tunisia F2 Spain F29 Netherlands F5 Morocco F7 Spain F35 Spain F36 Egypt F4 Egypt F5 Spain F39 Sudan F1 Sudan F2 Colombia F1 Colombia F2 Italy F5 Great Britain F7 Netherlands F1 Great Britain F8 Canada F3 Canada F4 Kazakhstan F4 Canada F6 Canada F7 USA F5 USA F6 Canada F1 Canada F2 Italy F7 Italy F8 Canada F6 Mexico F12 Mexico F14 USA F1 USA F2 USA F3 Canada F1 Canada F2 Greece F5 Greece F8 Canada F3 Canada F4 Canada F5 Canada F6 Nigeria F1 Canada F9 Canada F1 Canada F2 Canada F4 Canada F3 Mexico F13 Canada F4 Canada F5 Tunisia F3 Italy F23 France F21 Greece F6 Canada F7 Canada F8 Greece F7 France F22 France F1 France F2 France F3 Tunisia F5 Tunisia F6 Canada F2 Great Britain F5 France F11 France F12 France F13 Canada F7 Canada F8 Canada F9 Canada F10 Canada F11 Canada F11 France F21 France F22 France F23 Great Britain F10 Great Britain F11 USA F8 Canada F1 Tunisia F5 Canada F2 France F13 France F6 France F7 Belgium F2 Tunisia F4 Tunisia F5 Tunisia F1 Qatar F2 Qatar F3 Portugal F2 Italy F12 Italy F13 China F8 Iran F1 Iran F2 France F12 France F17 France F18 Tunisia F5 China F1 France F3 Poland F1 Poland F2 Canada F3 Canada F4 Canada F6 Canada F7 Canada F8 Great Britain F3 Canada F9 USA F3 (Plantation) USA F4 (Sunrise) USA F5 (Weston) USA F6 (Palm Coast) USA F7 (Orlando) USA F8 (Indian Harbour Beach) Canada F1 (Gatineau) Canada F2 (Sherbrooke) Egypt F12 (Sharm El Sheikh) Egypt F13 (Sharm El Sheikh) Egypt F14 (Sharm El Sheikh) France F15 Egypt F15 (Sharm El Sheikh) Israel F6 (Akko) Israel F7 (Herzlia) United Arab Emirates F2 Israel F8 (Netanya) USA F17 (Winston-Salem) USA F19 (Winston-Salem) Canada F3 (Kelowna) Canada F4 (Saskatoon) Canada F5 (Calgary) Netherlands F6 Canada F2 (Sherbrooke) France F2 China F2 France F2 Great Britain F4 Morocco F4 M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Prague M25 Most M15 Monastir M25 Wroclaw M15 Poprad M15 Esch/Alzette M15 Gdynia M15 Lodz M25 Johannesburg / Markspark M25 Johannesburg / Ellispark M25 Pretoria M25 Nur-Sultan M25 Nur-Sultan M25 Meitar M25 Afula M25 Cancun M25 Santo Domingo M15 Monastir M25 Nottingham M25 Idanha-a-Nova M15 Helsinki M25 Aldershot M25 Roehampton M15 Sharm ElSheikh M15 Singapore Mordovia Cup 2005 - Saransk M25 Glasgow M25 Afula M25 Weston M25 Astana M25 Santo Domingo Canada F9 M25 Nottingham M25 Nottingham M25 Nottingham Tunis Open 2006 - Tunis M25 Marburg M15 Monastir M15 Sharm ElSheikh M25 Monastir Tunis Open 2007 - Tunis M25 Bodrum M15 Luan M25 Tamworth M25 Perth M15 Szabolcsveresmart M25 Sunderland M15 Nonthaburi M15 Tsukuba M15 Luan M15 Monastir M25 Nottingham M15 Kashiwa M15 Monastir M25 Tamworth M25 Grodzisk Mazowiecki M15 Sharm ElSheikh M15 Dublin M25 Herzlia M15 Hua Hin M15 Monastir Open D'Orleans - Orleans M25 Pozzuoli M25 Tulsa M15 Monastir The LTA Men's Challenger - Southampton M15 Sharm ElSheikh M25 Hillcrest Marrakech Challenger Tunis Challenger M25 Monastir Saransk Challenger M15 Hillcrest Togliatti Cup - Togliatti M25 Glasgow Como Challenger Tulsa Challenger Quito Challenger Sacramento Challenger Tanger Challenger Rabat Challenger Rabat Challenger M15 Hillcrest M25 Heraklion Granby Challenger Penza Challenger Astana Challenger Samarkand Challenger San Sebastian Challenger Istanbul Challenger Mons Challenger Rennes Challenger Eckental Challenger Meknes Challenger Geneva Challenger Quimper Challenger M25 Sunderland Kyoto Challenger Rimouski Challenger San Benedetto Challenger Barletta Challenger Tunis Challenger Vancouver Challenger M15 Heraklion M25 Heraklion Timisoara Challenger Nossa Caixa Tennis Cup - Sao Paulo Timisoara Challenger - Timisoara Granby Challenger Lexington Challenger M25 Loughborough Shanghai Challenger Istanbul Challenger Izmir Challenger Fergana Challenger Tiburon Challenger M25 Sunderland Champaign Challenger Maui Challenger Chitre Challenger Dallas Challenger Morelos Challenger Rimouski Challenger Bordeaux Challenger Heilbronn Challenger Karshi Challenger Lexington Challenger M25 Bath Izmir Challenger M15 Monastir Sacramento Challenger Knoxville Challenger M25 Loule Drummondville Challenger Prague Challenger Ilkley Challenger M25 Quinta Do Lago Mons Challenger Rennes Challenger Launceston Challenger M25 Portimao Nanjing Challenger Seoul Challenger Bangkok Challenger Busan Challenger Istanbul Challenger Ho Chi Minh City Challenger M15 Nonthaburi Turin Challenger Surbiton Challenger Winnipeg Challenger Gatineau Challenger M15 Luan Granby Challenger Challenger Ford de Cherbourg - Cherbourg Istanbul Challenger Knoxville Challenger Dallas Challenger San Francisco Challenger Qujing Challenger Tunis Challenger Leon Challenger Tanger Challenger Surbiton Challenger Ilkley Challenger Zhangjiagang Challenger Calgary Challenger Guadalajara Challenger Shenzhen Challenger Sao Paulo Challenger Jerusalem Challenger Milan Challenger M25 Reggio Emilia Istanbul Challenger Kosice Challenger Binghamton Challenger Morelos Challenger Orlando Challenger Istanbul Challenger Aptos Challenger Grodzisk Mazowiecki Challenger M25 Rome Geneva Challenger Charlottesville Challenger M15 Szabolcsveresmart Alessandria Challenger Columbus Challenger Aix En Provence Challenger Seoul Challenger Shanghai Challenger Bangkok Challenger Shymkent Challenger Tunis Challenger M25 Netanya Shenzhen Challenger M25 Netanya Vancouver Challenger Granby Challenger Nur-Sultan 3 Challenger M15 Monastir Vancouver Challenger Kaohsiung Challenger M25 Cairns Champaign Challenger M25 Poznan Le Gosier Challenger Bucaramanga Challenger M15 Singapore M15 Ipoh Perak Seoul Challenger Vercelli Challenger Aix En Provence Challenger Knoxville Challenger Gimcheon Challenger M15 Monastir M15 Heraklion Marrakech Challenger M15 Heraklion Aptos Challenger Nottingham Challenger Vancouver Challenger M15 Monastir M15 Monastir M25 Nottingham M25 Perth M25 Nottingham Winnipeg Challenger Izmir Challenger Bangkok Challenger Drummondville Challenger Leon Challenger Izmir Challenger M25 Wichita Brest Challenger Shenzhen Challenger Lexington Challenger Marbella Challenger Granby Challenger Belgrade Challenger Braunschweig Challenger Liberec Challenger Izmir Challenger Cali Challenger Bordeaux Challenger Orleans Challenger Charleston Challenger Aptos Challenger M15 Sharm ElSheikh Bergamo Challenger Charlottesville Challenger Newport Beach Challenger Cherbourg Challenger Wuxi Challenger Zhuhai Challenger Drummondville Challenger Guadalajara Challenger Busan Challenger Tyler Challenger Gatineau Challenger Shanghai Challenger Liuzhou Challenger Bangalore Challenger Newport Beach Challenger Cleveland Challenger Dallas Challenger Yokohama Challenger Zhangjiagang Challenger Busan Challenger Manila Challenger Granby Challenger Gwangju Challenger Recanati Challenger Parma Challenger New Haven Challenger Orleans Challenger Astana Challenger Prague Challenger Iasi Challenger Biella 2 Challenger M25 Brisbane M25 Brisbane M15 Bologna Nur-Sultan 4 Challenger Segovia Challenger Verona Challenger M15 Sharm ElSheikh Bogota Challenger Las Vegas Challenger Charlottesville Challenger Champaign Challenger Bengalaru 1 Challenger Lille Challenger Tunis Challenger Troisdorf Challenger Little Rock Challenger Bratislava Challenger Corrientes Challenger Milan Challenger Buenos Aires 3 Challenger Rome Challenger Granby Challenger Toulouse Challenger Cassis Challenger Santos Challenger Alicante Challenger Fairfield Challenger Ambato Challenger Tunis Open - Tunis Ethias Tennis Trophy - Mons Roseto Degli Abruzzi Challenger Ostrava Challenger Pozoblanco Challenger Zhangjiagang Challenger Glasgow Challenger Little Rock Challenger Tunis Open - Tunis Zhuhai Challenger Brisbane 3 Challenger Glasgow Challenger Nur-Sultan Challenger Liuzhou Challenger Charlottesville Challenger Bangkok Challenger Bangkok Challenger Bengalaru Challenger Drummondville Challenger Ostrava Challenger Sibiu Challenger Split Challenger Milan Challenger Qatar Open - Doha Cremona Challenger Grand Prix de Tennis de Lyon - Lyon Knoxville Challenger Open Sabadell Atlantico - Barcelona Kazan Challenger Grand Prix Hassan II - Casablanca Pingguo Challenger Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Istanbul Challenger Le Gosier Challenger Furth Challenger Genova Challenger Izmir Challenger Tashkent Challenger Seoul Challenger Geneva Challenger Rimouski Challenger Meknes Challenger San Luis Potosi Challenger Troyes Challenger Marrakech Challenger Grand Prix Hassan II - Casablanca Citi Open - Washington China Open - Beijing Kremlin Cup - Moscow Grand Prix Hassan II - Casablanca Tiburon Challenger BRD Nastase Tiriac Trophy - Bucharest Hall of Fame Tennis Championships - Newport Claro Open Colombia - Bogota Mercedes Cup - Stuttgart Gerry Weber Open - Halle Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Winston-Salem Open - Winston-Salem China Open - Beijing Little Rock Challenger St. Brieuc Challenger Sardegna Open - Cagliari Bogota Challenger Monza Challenger Generali Open - Kitzbuhel Dubai Duty Free Tennis Championships - Dubai Santos Challenger Tunis Challenger Vancouver Challenger Dubai Duty Free Tennis Championships - Dubai Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Barcelona Open BancSabadell - Barcelona Tunis Challenger Sydney International - Sydney Qatar ExxonMobil Open - Doha Qatar Exxon Mobil Open - Doha Singapore Tennis Open - Singapore Dubai Duty Free Tennis Championships - Dubai Vercelli Challenger Belgrade 2 - Belgrade Granby Challenger Rome Challenger Banja Luka Challenger Caltanissetta Challenger Dubai Duty Free Tennis Championships - Dubai M15 Sharm ElSheikh M25 Jerusalem Manchester Challenger Delray Beach Open - Delray Beach Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca Open de Nice Cote d'Azur - Nice AEGON Championships - London UNICEF Open - 's Hertogenbosch M25 Sheffield Charlottesville Challenger Champaign Challenger Dubai Duty Free Tennis Championships - Dubai Bratislava Challenger Guangzhou Challenger ASB Classic - Auckland Citi Open - Washington Qatar ExxonMobil Open - Doha Gatineau Challenger Puebla Challenger M15 Monastir Hall of Fame Tennis Championships - Newport Malaysian Open - Kuala Lumpur Orleans Challenger Valencia Open - Valencia Anning Challenger Open 13 - Marseille Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier U.S. National Indoor Tennis Championships - Memphis Dubai Duty Free Tennis Championships - Dubai Cassis Challenger Fairfield Challenger Aegon Nottingham Open - Nottingham Columbus Challenger Astana Challenger Stockton Challenger Arad Challenger BB&T Atlanta Open - Atlanta Citi Open - Washington M25 Hua Hin Winston-Salem Open - Winston-Salem Mouilleron-Le-Captif Challenger Champaign Challenger Calgary Challenger Canberra Challenger St. Brieuc Challenger Qatar ExxonMobil Open - Doha Pau Challenger Garanti Koza Sofia Open - Sofia Drummondville Challenger Tashkent Challenger Memphis Open - Memphis Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona Guadalajara Challenger BMW Open - Munich Aegon Nottingham Open - Nottingham Rennes Challenger Cordoba Open - Cordoba Samarkand Challenger Granby Challenger Citi Open - Washington Mestre Challenger Winnetka Challenger If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha Forli 2 Challenger Shenzhen Challenger Roseto Degli Abruzzi 2 Challenger Millennium Estoril Open - Estoril Blois Challenger Dubai Duty Free Tennis Championships - Dubai China Open - Beijing Mercedes Cup - Stuttgart Zhuhai Challenger BB&T Atlanta Open - Atlanta Citi Open - Washington Columbus Challenger Shenzhen Open - Shenzhen Qatar ExxonMobil Open - Doha Vancouver Challenger Garanti Koza Sofia Open - Sofia Cary Challenger Tiburon Challenger Ningboo Challenger Las Vegas Challenger Knoxville Challenger Champaign Challenger Citi Open - Washington Chengdu Open - Chengdu Shenzhen Open - Shenzhen Burnie Challenger Tata Open Maharashtra - Pune Prague II Challenger Alicante Challenger Parma Challenger Biella 1 Challenger Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Forli Challenger Swiss Open - Gstaad Citi Open - Washington Nottingham Challenger Winston-Salem Open - Winston-Salem San Marino Challenger Barletta Challenger Tata Open Maharashtra - Pune Antalya Open - Antalya Barcelona Open Banc Sabadell - Barcelona Qatar ExxonMobil Open - Doha Drummondville Challenger Tunis Challenger Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Aguascalientes Challenger Grand Prix Hassan II - Marrakech Zhangjiagang Challenger Open 13 - Marseille Playford Challenger Sydney Challenger Hamburg Challenger China Open - Beijing Brisbane International - Brisbane Shanghai Challenger Ricoh Open - 's-Hertogenbosch Kremlin Cup - Moscow Tiburon Challenger Swiss Indoors Basel - Basel Brasil Open - Sao Paulo Orlando Challenger Almaty Challenger Barletta Challenger Columbus Challenger Francavilla Challenger Launceston Challenger Barcelona Challenger Guangzhou Challenger Ostrava Challenger Bratislava Challenger Forli 2 Challenger BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Poznan Challenger Calgary Challenger Split Challenger If Stockholm Open - Stockholm Rogers Cup - Toronto Rogers Cup - Montreal Sony Open Tennis - Miami Rogers Cup - Toronto Shanghai Rolex Masters - Shanghai Western & Southern Open - Cincinnati Miami Open - Miami Open 13 Provence - Marseille Australian Open - Melbourne U.S. Open - New York Western & Southern Open - Cincinnati Australian Open - Melbourne French Open - Paris Shanghai Rolex Masters - Shanghai Wimbledon - London Rogers Cup - Toronto Winston-Salem Open - Winston-Salem Western & Southern Open - Cincinnati U.S. Open - New York BNP Paribas Masters - Paris Gerry Weber Open - Halle Miami Open - Miami French Open - Paris Monte-Carlo Rolex Masters - Monte-Carlo Wimbledon - London Coupe Rogers - Montreal U.S. Open - New York U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris French Open - Paris Wimbledon - London Western & Southern Open - Cincinnati Miami Open - Miami BNP Paribas Open - Indian Wells Wimbledon - London Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Rogers Cup - Montreal Miami Open - Miami Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Moselle Open - Metz Abierto Mexicano Telcel - Acapulco Open Sabadell Atlantico - Barcelona BB&T Atlanta Open - Atlanta Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Davis Cup, Group 2, PO, SLO-TUN 4-1 Kremlin Cup - Moscow Davis Cup, Group II, PO, TUN-BLR 2-3 Davis Cup, World Group, QF, BEL-CAN 5-0 Davis Cup, Group II, 1R, TUN-SWE 2-3 Davis Cup, Group II, 1R, TUN-FIN 2-3 Australian Open - Melbourne French Open - Paris French Open - Paris Wimbledon - London Australian Open - Melbourne French Open (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) U.S. Open - New York Australian Open - Melbourne Rogers Cup - Montreal French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York U.S. Open - New York Olympics - London Australian Open - Melbourne Olympics - Rio de Janeiro French Open - Paris Wimbledon - London Wimbledon - London Zhuhai Open - Zhuhai Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, PO, LAT-TUN 3-2 Davis Cup, Group II, PO, IRL-TUN 3-2 Davis Cup, Group II, 1R, GBR-TUN 4-1 Davis Cup, Group II, PO, TUN-BUL 3-2 M15 Forli Davis Cup, Group II, PO, CYP-TUN 1-4 Davis Cup, World Group II, PO, GUA-TUN 1-3 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group II, 1R, BIH-TUN 3-1 Australian Open (juniors) Wimbledon (juniors) Davis Cup, Group II, PO, EST-TUN 3-2 M25 Astana